りおんクロニクル


C# × SQLite × Dapper|最速でCRUDを実装する方法【2026年版】

Home【2026年版】C# / .NET入門と実践ガイド|基礎・業務アプリ開発・SQLite連携まで体系的に解説

C#でSQLiteを使うなら、Dapperは最速で軽量なORMです。 Entity Framework Core よりも圧倒的に軽く、業務アプリや小規模ツールと相性抜群。 この記事では、SQLite × Dapper の最小構成で動くCRUDをまとめています。

この記事でわかること
・SQLite × Dapper の最速セットアップ
・INSERT / UPDATE / DELETE / SELECT の実装
・モデルクラスの作り方
・パラメータ化の安全な書き方
・業務アプリでのベストプラクティス

1. 必要なNuGetパッケージ

この3つでOK。 .NET 10 でも最も安定して動く組み合わせです。

2. モデルクラスを作る

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int? Age { get; set; }
}

3. 接続の基本コード

using Microsoft.Data.Sqlite;
using Dapper;

var connectionString = "Data Source=sample.db";

using var connection = new SqliteConnection(connectionString);
connection.Open();

4. SELECT(一覧取得)

var users = connection.Query<User>(
    "SELECT Id, Name, Age FROM Users"
).ToList();

foreach (var u in users)
{
    Console.WriteLine($"{u.Id}, {u.Name}, {u.Age}");
}

ポイント

5. INSERT(追加)

var sql = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)";

connection.Execute(sql, new {
    Name = "Taro",
    Age = 25
});

ポイント

6. UPDATE(更新)

var sql = "UPDATE Users SET Age = @Age WHERE Id = @Id";

connection.Execute(sql, new {
    Age = 30,
    Id = 1
});

ポイント

7. DELETE(削除)

var sql = "DELETE FROM Users WHERE Id = @Id";

connection.Execute(sql, new {
    Id = 1
});

8. WHERE句付きのSELECT(検索)

var users = connection.Query<User>(
    "SELECT * FROM Users WHERE Age > @Age",
    new { Age = 20 }
).ToList();

ポイント

9. 1件取得(QueryFirst / QuerySingle)

var user = connection.QueryFirstOrDefault<User>(
    "SELECT * FROM Users WHERE Id = @Id",
    new { Id = 1 }
);

10. 業務アプリでのベストプラクティス

まとめ:SQLite × Dapper は最速で実務向け

C#で軽量DBアプリを作るなら、 SQLite × Dapper は最速で実務向けの最適解です。 この記事をベースに、あなたのアプリに組み込んでみてください。

前のページ  次のページ